home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / linux / if_vlan.h < prev    next >
C/C++ Source or Header  |  2008-10-24  |  2KB  |  63 lines

  1. /*
  2.  * VLAN        An implementation of 802.1Q VLAN tagging.
  3.  *
  4.  * Authors:    Ben Greear <greearb@candelatech.com>
  5.  *
  6.  *        This program is free software; you can redistribute it and/or
  7.  *        modify it under the terms of the GNU General Public License
  8.  *        as published by the Free Software Foundation; either version
  9.  *        2 of the License, or (at your option) any later version.
  10.  *
  11.  */
  12.  
  13. #ifndef _LINUX_IF_VLAN_H_
  14. #define _LINUX_IF_VLAN_H_
  15.  
  16.  
  17. /* VLAN IOCTLs are found in sockios.h */
  18.  
  19. /* Passed in vlan_ioctl_args structure to determine behaviour. */
  20. enum vlan_ioctl_cmds {
  21.     ADD_VLAN_CMD,
  22.     DEL_VLAN_CMD,
  23.     SET_VLAN_INGRESS_PRIORITY_CMD,
  24.     SET_VLAN_EGRESS_PRIORITY_CMD,
  25.     GET_VLAN_INGRESS_PRIORITY_CMD,
  26.     GET_VLAN_EGRESS_PRIORITY_CMD,
  27.     SET_VLAN_NAME_TYPE_CMD,
  28.     SET_VLAN_FLAG_CMD,
  29.     GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
  30.     GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
  31. };
  32.  
  33. enum vlan_flags {
  34.     VLAN_FLAG_REORDER_HDR    = 0x1,
  35.     VLAN_FLAG_GVRP        = 0x2,
  36. };
  37.  
  38. enum vlan_name_types {
  39.     VLAN_NAME_TYPE_PLUS_VID, /* Name will look like:  vlan0005 */
  40.     VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like:  eth1.0005 */
  41.     VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like:  vlan5 */
  42.     VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like:  eth0.5 */
  43.     VLAN_NAME_TYPE_HIGHEST
  44. };
  45.  
  46. struct vlan_ioctl_args {
  47.     int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
  48.     char device1[24];
  49.  
  50.         union {
  51.         char device2[24];
  52.         int VID;
  53.         unsigned int skb_priority;
  54.         unsigned int name_type;
  55.         unsigned int bind_type;
  56.         unsigned int flag; /* Matches vlan_dev_info flags */
  57.         } u;
  58.  
  59.     short vlan_qos;   
  60. };
  61.  
  62. #endif /* !(_LINUX_IF_VLAN_H_) */
  63.